<script>
	// 引入配置和工具函数
	import { config } from './src/constant';
	import { showToast, isLoggedIn } from './src/common/tools';
		export default {
	// 在UniApp中，全局数据直接定义在组件实例上
	globalData: {
		isLogin: false,
		userInfo: null,
		useMockData: config.useMockData,
		appVersion: '1.0.0'
	},
	onLaunch: function() {
		console.log('星球漂流瓶 App Launch');
		
		// 初始化应用
		this.initApp();
	},
	onShow: function() {
		console.log('星球漂流瓶 App Show');
		// 检查登录状态
		this.checkUserLogin();
	},
	onHide: function() {
		console.log('星球漂流瓶 App Hide');
	},
	methods: {
		// 初始化应用
		initApp() {
			// 检查网络状态
		uni.getNetworkType({
			success: (res) => {
				const networkType = res.networkType;
				if (networkType === 'none') {
					showToast('当前无网络连接，请检查网络设置');
				}
				console.log('网络类型:', networkType);
		}
		});
		
		// 全局配置可以通过修改uni的默认参数来实现
		// 这里不直接调用uni.request设置超时时间，而是在实际请求时设置
		},
		
		// 检查用户登录状态
		checkUserLogin() {
			try {
				const isLogin = isLoggedIn();
				this.globalData.isLogin = isLogin;
				if (isLogin) {
					// 如果已登录，可以获取用户信息
					this.getUserInfo();
				}
			} catch (error) {
				console.error('检查登录状态失败:', error);
			}
		},
		
		// 获取用户信息
		getUserInfo() {
			try {
				const userInfo = uni.getStorageSync('userInfo');
				if (userInfo) {
					this.globalData.userInfo = JSON.parse(userInfo);
				}
			} catch (error) {
				console.error('获取用户信息失败:', error);
			}
		}
	}
	}
</script>

<style>
	/* 引入全局样式 */
	@import './src/style/global.scss';
	
	/* 全局样式重置 */
	* {
		margin: 0;
		padding: 0;
		box-sizing: border-box;
	}
	
	/* 设置全局字体和颜色 */
	html,
	body {
		font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', 'Helvetica Neue', Helvetica, Arial, sans-serif;
		font-size: 28rpx;
		color: var(--white);
		background-color: var(--background-color);
	}
	
	/* 设置页面容器样式 */	
	page {
		background-color: var(--background-color);
	}
	
	/* 设置滚动条样式 */
	::-webkit-scrollbar {
		display: none;
	}
	
	/* 防止文本选中 */
	.no-select {
		-webkit-user-select: none;
		-moz-user-select: none;
		-ms-user-select: none;
		user-select: none;
	}
</style>
